package com.ruoyi.business.mapper;

import java.util.List;
import com.ruoyi.business.domain.BusDevicePressure;
import com.ruoyi.business.domain.BusDevicePressureItem;
import org.apache.ibatis.annotations.Param;

/**
 * 调压设施台账Mapper接口
 * 
 * @author wf
 * @date 2024-07-17
 */
public interface BusDevicePressureMapper 
{
    /**
     * 查询调压设施台账
     * 
     * @param id 调压设施台账主键
     * @return 调压设施台账
     */
    public BusDevicePressure selectBusDevicePressureById(Long id);

    /**
     * 查询调压设施台账列表
     * 
     * @param busDevicePressure 调压设施台账
     * @return 调压设施台账集合
     */
    public List<BusDevicePressure> selectBusDevicePressureList(BusDevicePressure busDevicePressure);

    /**
     * 新增调压设施台账
     * 
     * @param busDevicePressure 调压设施台账
     * @return 结果
     */
    public int insertBusDevicePressure(BusDevicePressure busDevicePressure);

    /**
     * 修改调压设施台账
     * 
     * @param busDevicePressure 调压设施台账
     * @return 结果
     */
    public int updateBusDevicePressure(BusDevicePressure busDevicePressure);

    /**
     * 删除调压设施台账
     * 
     * @param id 调压设施台账主键
     * @return 结果
     */
    public int deleteBusDevicePressureById(Long id);

    /**
     * 批量删除调压设施台账
     * 
     * @param ids 需要删除的数据主键集合
     * @return 结果
     */
    public int deleteBusDevicePressureByIds(Long[] ids);

    /**
     * 批量删除调压设施工艺信息
     * 
     * @param ids 需要删除的数据主键集合
     * @return 结果
     */
    public int deleteBusDevicePressureItemByIds(Long[] ids);
    
    /**
     * 批量新增调压设施工艺信息
     * 
     * @param busDevicePressureItemList 调压设施工艺信息列表
     * @return 结果
     */
    public int batchBusDevicePressureItem(List<BusDevicePressureItem> busDevicePressureItemList);
    

    /**
     * 通过调压设施台账主键删除调压设施工艺信息信息
     * 
     * @param id 调压设施台账ID
     * @return 结果
     */
    public int deleteBusDevicePressureItemById(Long id);

    /**
     * 功能描述：获取调压设施总数量
     *
     * @return {@link Integer }
     * @author ling
     * @date 2024/08/22 15:28
     */
    Integer getCount();

    /**
     * 按小区id获取数量
     *
     * @return {@link Long }
     */
    Long getCountByNeighborhoodId(Long neighborhoodId);
    /**
     * 根据多个小区id获取数量
     *
     * @return {@link Long }
     */
    List<Long> getCountByNeighborhoodIds( Long[] neighborhoodId);
    /**
     * 功能描述：获取站数量
     *
     * @return {@link Integer }
     * @author ling
     * @date 2024/08/22 16:47
     */
    Integer getStationCount();
    /**
     * 功能描述：获取柜数量
     *
     * @return {@link Integer }
     * @author ling
     * @date 2024/08/22 16:47
     */
    Integer getCabinetCount();
    /**
     * 功能描述：获取箱数量
     *
     * @return {@link Integer }
     * @author ling
     * @date 2024/08/22 16:47
     */
    Integer getBoxCount();
    /**
     * 功能描述：获取地调数量
     *
     * @return {@link Integer }
     * @author ling
     * @date 2024/08/22 16:47
     */
    Integer getGeotoneCount();


}
